11 research outputs found

    Static Trace-Based Deadlock Analysis for Synchronous Mini-Go

    Full text link
    We consider the problem of static deadlock detection for programs in the Go programming language which make use of synchronous channel communications. In our analysis, regular expressions extended with a fork operator capture the communication behavior of a program. Starting from a simple criterion that characterizes traces of deadlock-free programs, we develop automata-based methods to check for deadlock-freedom. The approach is implemented and evaluated with a series of examples

    ReverCSP: Time-Travelling in CSP Computations

    Full text link
    [EN] This paper presents reverCSP, a tool to animate both forward and backward CSP computations. This ability to reverse computations can be done step by step or backtracking to a given desired state of interest. reverCSP allows us to reverse computations exactly in the same order in which they happened, or also in a causally-consistent way. Therefore, reverCSP is a tool that can be especially useful to comprehend, analyze, and debug computations. reverCSP is an open-source project publicly available for the community. We describe the tool and its functionality, and we provide implementation details so that it can be reimplemented for other languages.This work has been partially supported by the EU (FEDER) and the Spanish MCI/AEI under grants TIN2016-76843-C4-1-R and PID2019- 104735RB-C41, and by the Generalitat Valenciana under grant Prometeo/2019/098 (DeepTrust).Galindo-Jiménez, CS.; Nishida, N.; Silva, J.; Tamarit, S. (2020). ReverCSP: Time-Travelling in CSP Computations. Springer. 239-245. https://doi.org/10.1007/978-3-030-52482-1_14S239245Bernadet, A., Lanese, I.: A modular formalization of reversibility for concurrent models and languages. In: Proceedings of ICE 2016, EPTCS (2016)Brown, G., Sabry, A.: Reversible communicating processes. Electron. Proc. Theor. Comput. Sci. 203, 45–59 (2016)Conserva Filhoa, M., Oliveira, M., Sampaio, A., Cavalcanti, A.: Compositional and local livelock analysis for CSP. Inf. Process. Lett 133, 21–25 (2018)Danos, V., Krivine, J.: Reversible communicating systems. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 292–307. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-28644-8_19Elnozahy, E.N.M., Alvisi, L., Wang, Y.-M., Johnson, D.B.: A survey of rollback- recovery protocols in message-passing systems. ACM Comput. Surv. 34(3), 375–408 (2002)Fang, Y., Zhu, H., Zeyda, F., Fei, Y.: Modeling and analysis of the disruptor framework in csp. In: Proceedings of CCWC 2018. IEEE Computer Society (2018)Ladkin, P.B., Simons, B.B.: Static deadlock analysis for CSP-type communications. In: Fussell, D.S., Malek, M. (eds.) Responsive Computer Systems: Steps Toward Fault-Tolerant Real-Time Systems. The Springer International Series in Engineering and Computer Science, vol. 297, pp. 89–102. Springer, Boston (1995). https://doi.org/10.1007/978-1-4615-2271-3_5Landauer, R.: Irreversibility and heat generation in the computing process. IBM J. Res. Dev. 5, 183–191 (1961)Lanese, I., Antares Mezzina, C., Tiezzi, F.: Causal-consistent reversibility. Bull. EATCS 114, 17 (2014)Lanese, I., Nishida, N., Palacios, A., Vidal, G.: CauDEr: a causal-consistent reversible debugger for erlang. In: Gallagher, J.P., Sulzmann, M. (eds.) FLOPS 2018. LNCS, vol. 10818, pp. 247–263. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-90686-7_16Lanese, I., Palacios, A., Vidal, G.: Causal-consistent replay debugging for message passing programs. In: Pérez, J.A., Yoshida, N. (eds.) FORTE 2019. LNCS, vol. 11535, pp. 167–184. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21759-4_10Llorens, M., Oliver, J., Silva, J., Tamarit, S.: Dynamic slicing of concurrent specification languages. Parallel Comput. 53, 1–22 (2016)Llorens, M., Oliver, J., Silva, J., Tamarit, S.: Tracking CSP computations. J. Log. Algebr. Meth. Program. 102, 138–175 (2019)Perera, R., Garg, D., Cheney, J.: Causally consistent dynamic slicing. In Proceedings of CONCUR 2016, LIPIcs, vol. 59, pp. 18:1–18:15 (2016)Phillips, I., Ulidowski, I., Yuen, S.: A reversible process calculus and the modelling of the ERK signalling pathway. In: Glück, R., Yokoyama, T. (eds.) RC 2012. LNCS, vol. 7581, pp. 218–232. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36315-3_18Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1997)Zhao, H., Zhu, H., Yucheng, F., Xiao, L.: Modeling and verifying storm using CSP. In: Proceedings of HASE 2019. IEEE Computer Society (2019

    Stellar:A Programming Model for Developing Protocol-Compliant Agents

    Get PDF
    An interaction protocol captures the rules of encounter in a multiagent system. Development of agents that comply with protocols is a central challenge of multiagent systems. Our contribution in this chapter is a programming model, Stellar, that simplifies development of agents compliant with information protocols specified in BSPL. A significant distinction of Stellar from similar approaches is that it does not rely upon extracting control flow structures from protocol specifications to ensure compliance. Instead, Stellar provides a set of fundamental operations to programmers for producing viable messages according to the correct flow of information between agents as specified by a protocol, enabling flexible design and implementation of protocol-compliant agents. Our main contributions are: (1) identification of a set of programming errors that commonly occur when developing agents for protocol-based multiagent system, (2) definition of Stellar’s operations and a simple yet effective pattern to develop protocol-compliant agents that avoid the identified errors, and (3) demonstration of Stellar’s effectiveness by presenting concrete agents in e-commerce and insurance policy domains

    Non-Local Configuration of Component Interfaces by Constraint Satisfaction

    Get PDF
    © 2020 Springer-Verlag. The final publication is available at Springer via https://doi.org/10.1007/s10601-020-09309-y.Service-oriented computing is the paradigm that utilises services as fundamental elements for developing applications. Service composition, where data consistency becomes especially important, is still a key challenge for service-oriented computing. We maintain that there is one aspect of Web service communication on the data conformance side that has so far escaped the researchers attention. Aggregation of networked services gives rise to long pipelines, or quasi-pipeline structures, where there is a profitable form of inheritance called flow inheritance. In its presence, interface reconciliation ceases to be a local procedure, and hence it requires distributed constraint satisfaction of a special kind. We propose a constraint language for this, and present a solver which implements it. In addition, our approach provides a binding between the language and C++, whereby the assignment to the variables found by the solver is automatically translated into a transformation of C++ code. This makes the C++ Web service context compliant without any further communication. Besides, it uniquely permits a very high degree of flexibility of a C++ coded Web service without making public any part of its source code.Peer reviewe

    Static Deadlock Analysis for CSP-type Communications

    No full text
    . We present two tests for analyzing deadlock for a class of communicating sequential processes. The tests can be used for deadlock detection in parallel and distributed programs at compile time, or for debugging purposes at run time. They can also be used in conjunction with an algorithm we have for constructing valid execution traces for this class. Introduction Distributed systems, high-level software designs, software for parallel processors, and communications protocols can be specified as collections of communicating processes. It is very hard to analyze software for such systems, whether it is expressed abstractly (`specifications') or concretely (`code'). We focus on finite-state analysis techniques for specifications or code involving communicating processes. Because of length constraints, we omit proofs from this paper. The proofs can be found in [LS92b] and our monograph that will be published soon in the Springer-Verlag Lecture Notes in Computer Science series [LS94]. Our ..

    Four Issues Concerning the Semantics of Message Flow Graphs

    No full text
    We discuss four issues concerning the semantics of Message Flow Graphs (MFGs). MFGs are extensively used as pictures of message-passing behavior. One type of MFG, Message Sequence Chart (MSC) is ITU Standard Z.120. We require that a system described by an MFG has global states with respect to its message-passing behavior, with transitions between these states effected by atomic message-passing actions. Under this assumption, we argue (a) that the collection of global message states defined by an MFG is finite (whether for synchronous, asynchronous, or partially-asynchronous message-passing); (b) that the unrestricted use of `conditions' requires processes to keep control history variables of potentially unbounded size; (c) that allowing `crossing' messages of the same type implies certain properties of the environment that are neither explicit nor desirable, and (d) that liveness properties of MFGs are more easily expressed by temporal logic formulas over the control states than by Buc..

    Timing Constraints in Message Sequence Chart Specifications

    No full text
    When dealing with timing constraints, the Z.120 standard of Message Sequence Charts (MSCs) is still evolving along with several proposals. This paper first reviews proposed extensions of MSCs to describe timing constraints. Secondly, the paper describes an analysis technique for timing consistency in iterating and branching MSC specifications. The analysis extends efficient current techniques for timing analysis of MSCs with no loops nor branchings. Finally, the paper extends our syntactic analysis of process divergence to MSCs with timing constraints. Keywords Message Sequence Charts, timing constraints, timing consistency analysis 1 INTRODUCTION Various flavours of Message Sequence Charts (MSCs) have been used in software engineering of telecommunications systems as well as object-oriented analysis and design notations, e.g. (Selic, Gullekson & Ward 1994, Algayres, Lejeune, Hugonment & Hantz 1993, Jacobson & et al. 1992, Ichikawa, Itoh, Kato, Takura & Shibasaki 1991). The increas..

    Coping with bad agent interaction protocols when monitoring partially observable multiagent systems

    No full text
    Interaction Protocols are fundamental elements to provide the entities in a system, be them actors, agents, services, or other communicating pieces of software, a means to agree on a global interaction pattern and to be sure that all the other entities in the system adhere to it as well. These \u201cglobal interaction patterns\u201d may serve different purposes: if the system does not yet exist, they may specify the allowed interactions in order to drive the system\u2019s implementation and execution. If the system exists before and independently from the protocol, the protocol may still specify the allowed interactions, but it cannot be used to implement them. Its purpose in this case is to monitor that the actual system does respect the rules (runtime verification). Tagging some protocols as good ones and others as bad is common to all the research communities where interaction is crucial, and it is not surprising that some protocol features are recognized as bad ones everywhere. In this paper we analyze the notion of good, bad and ugly protocols in the MAS community and outside, and we discuss the role that bad protocols, despite being bad, may play in a runtime verification scenario where not all the events and interaction channels can be observed

    Reasons for the Failure of Incident Reporting in the Healthcare and Rail Industries

    No full text
    Incident reporting systems have recently been established across the UK rail and healthcare industries. These initiatives have built on the perceived success of reporting systems within aviation. There is, however, a danger that the proponents of these schemes have signi#cantly over-estimated the impact that they can have upon the operation of complex, safety-critical systems. This paper, therefore, provides a brief overview of the problems that limit the utility of incident reporting in the the rail and healthcare industries

    The Leader–Member Exchange Theory in the Chinese Context and the Ethical Challenge of Guanxi

    No full text
    The leader–member relationship has been identified as a key determinant of successful working relationships and business outcomes in China. A high-quality leader–member relationship helps managers and employees to meet the demands they face and gives them the opportunity to develop socially, emotionally and morally. Such relationships form the basis of the overall well-being and success of the organisation. This article contributes to relationally oriented leadership theories and more specifically to the leader–member exchange (LMX) theory by examining the theory in the context of Western expatriate managers and Chinese employees in China. The first aim of the study is to analyse the similarities and differences between the LMX theory, which owes its origins to Western corporate experience, and the social and moral norms of guanxi, a crucial element in the Chinese value system. Since Westerners and Chinese people can give different interpretations to guanxi, the second aim of the article is to discuss the ethical challenges to the Western manager arising from guanxi. The findings of this study have implications not only for China, but also for other Chinese communities (Macau, Taiwan, Hong Kong, the Philippines and Singapore) where guanxi is endorsed and practised.peerReviewe
    corecore